#!/bin/bash
# 2023年12月22日


# 定义变量
# 命令
mavenCommand=$(which mvn)
javaCommand=$(which java)
cpCommand=$(which cp)
jspCommand=$(which jps)
gitCommand=$(which git)

# 项目运行名称 (新名)
app="kong-new.jar"
# 项目源码目录
projectDir="Integration_space_new"
# 项目编译后jar
sourceJarPath="ruoyi-admin/target/ruoyi-admin.jar"
# JVM 参数
jvmOpt="-Dfile.encoding=UTF-8"
# springboot 参数
springbootOpt="--server.port=8080"

function git_command() {
    local repo_dir=$1
    local git_args=$2

    git_version=$(${gitCommand} --version | awk '{print $3}')
    major_version=$(echo "$git_version" | cut -d. -f1)
    minor_version=$(echo "$git_version" | cut -d. -f2)
    patch_version=$(echo "$git_version" | cut -d. -f3)
    # git 1.8.5以上版本 使用-C 参数
    if (( major_version < 1 || (major_version == 1 && minor_version < 8) || (major_version == 1 && minor_version == 8 && patch_version < 5) )); then
        current_dir=$(pwd)
        cd "$repo_dir"
        ${gitCommand} $git_args
        cd "$current_dir"
    else
        ${gitCommand} -C "$repo_dir" $git_args
    fi
}

# 停止应用
${jspCommand} -l | grep ${app} | cut -d' ' -f1 | xargs -i kill -9 {}

# 更新代码
# cd ${projectDir} && ${gitCommand} pull && cd -
git_command ${projectDir} pull

# 编译项目
${mavenCommand} -f ${projectDir}/pom.xml clean package -Dmaven.test.skip=true

# 复制jar文件
${cpCommand} ${projectDir}/${sourceJarPath} ${app}

# 启动应用
nohup ${javaCommand} -jar ${jvmOpt} ${app}  ${springbootOpt} &


